<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    原理：跟冒泡排序差不多，也是两两交换，不过这两两交换，是第一位和第五位交换，而不是第四位和第五位。（不稳定，因为会碰到重复的数。
</body>
<script>
    let arr = [145, 248, 31, 45, 9, 11, 145, 300];
    function arrSort(arr) {
        for (let i = 0; i < arr.length - 1; i++) {//遍历数组       
            let min = arr[i];//防止arr[i]发生变化       
            for (j = i; j < arr.length; j++) {//双重遍历，查找最小的数进行交换，跟冒泡不一样的地方在于，选择排序，假如第4位更小，则是1，4位交换，不是3，4位交换            
                if (arr[j] < min) {
                    let temp = arr[j];
                    arr[j] = min;
                    min = temp;
                }
            }
        }
        return arr;
    }
    console.log(arrSort(arr));


</script>

</html>